﻿using System;

namespace XUtility
{
    #region Boolean 类型 扩展方法

    public static class BooleanEx
    {
        /// <summary>
        /// 返回 Boolean类型 小写形式
        /// </summary>
        /// <param name="b">Boolean</param>
        public static String ToLowerString(this Boolean b)
        {
            return b.ToString().ToLower();
        }

        /// <summary>
        /// 返回 Boolean类型 大写形式
        /// </summary>
        /// <param name="b">Boolean</param>
        public static String ToUpperString(this Boolean b)
        {
            return b.ToString().ToUpper();
        }

        /// <summary>
        /// 返回Int32类型
        /// <para> true：1   false：0</para>
        /// </summary>
        /// <param name="b">布尔值</param>
        /// <returns>Int32类型</returns>
        public static Int32 ToInt32(this Boolean b)
        {
            return (b ? 1 : 0);
        }
        /// <summary>
        /// 返回Int32类型
        /// <para> true：1   false or null：0</para>
        /// </summary>
        /// <param name="b">布尔值</param>
        /// <returns>Int32类型</returns>
        public static Int32 ToInt32(this Boolean? b)
        {
            if (b.HasValue)
                return b.Value.ToInt32();
            return 0;
        }
    }
    #endregion
}
